package com.cmit.upay.monitor.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * JolokiaQueueMBean的属性
 */
@Data
public class QueueMBeanValue {

    @JsonProperty("ProducerFlowControl")
    private boolean producerflowcontrol;
    @JsonProperty("Options")
    private String options;
    @JsonProperty("AlwaysRetroactive")
    private boolean alwaysretroactive;
    @JsonProperty("MemoryUsageByteCount")
    private long memoryusagebytecount;
    @JsonProperty("AverageBlockedTime")
    private long averageblockedtime;
    @JsonProperty("MemoryPercentUsage")
    private long memorypercentusage;
    @JsonProperty("CursorMemoryUsage")
    private long cursormemoryusage;
    @JsonProperty("InFlightCount")
    private long inflightcount;
    @JsonProperty("Subscriptions")
    private List<Object> subscriptions;
    @JsonProperty("CacheEnabled")
    private boolean cacheenabled;
    @JsonProperty("ForwardCount")
    private long forwardcount;
    @JsonProperty("DLQ")
    private boolean dlq;
    @JsonProperty("StoreMessageSize")
    private long storemessagesize;
    @JsonProperty("AverageEnqueueTime")
    private long averageenqueuetime;
    @JsonProperty("Name")
    private String name;
    @JsonProperty("BlockedSends")
    private long blockedsends;
    @JsonProperty("MaxAuditDepth")
    private long maxauditdepth;
    @JsonProperty("TotalBlockedTime")
    private long totalblockedtime;
    @JsonProperty("QueueSize")
    private long queueSize;
    @JsonProperty("MaxPageSize")
    private long maxpagesize;
    @JsonProperty("TempUsageLimit")
    private long tempusagelimit;
    @JsonProperty("PrioritizedMessages")
    private boolean prioritizedmessages;
    @JsonProperty("MemoryUsagePortion")
    private long memoryusageportion;
    @JsonProperty("Paused")
    private boolean paused;
    @JsonProperty("EnqueueCount")
    private long enqueueCount;
    @JsonProperty("MessageGroups")
    private QueueMBeanMessagegroups messagegroups;
    @JsonProperty("TempUsagePercentUsage")
    private long tempusagepercentusage;
    @JsonProperty("ConsumerCount")
    private long consumerCount;
    @JsonProperty("AverageMessageSize")
    private long averagemessagesize;
    @JsonProperty("CursorFull")
    private boolean cursorfull;
    @JsonProperty("ExpiredCount")
    private long expiredCount;
    @JsonProperty("MaxProducersToAudit")
    private long maxproducerstoaudit;
    @JsonProperty("CursorPercentUsage")
    private long cursorpercentusage;
    @JsonProperty("MinEnqueueTime")
    private long minenqueuetime;
    @JsonProperty("MemoryLimit")
    private long memorylimit;
    @JsonProperty("MinMessageSize")
    private long minmessagesize;
    @JsonProperty("DispatchCount")
    private long dispatchcount;
    @JsonProperty("MaxEnqueueTime")
    private long maxenqueuetime;
    @JsonProperty("DequeueCount")
    private long dequeueCount;
    @JsonProperty("BlockedProducerWarningInterval")
    private long blockedproducerwarninginterval;
    @JsonProperty("ProducerCount")
    private long producerCount;
    @JsonProperty("MessageGroupType")
    private String messagegrouptype;
    @JsonProperty("MaxMessageSize")
    private long maxmessagesize;
    @JsonProperty("UseCache")
    private boolean usecache;
    @JsonProperty("SlowConsumerStrategy")
    private String slowconsumerstrategy;
}